/*
 * 功能：负责处理与首页说明信息相关的HTTP请求
 * 作者：张杨(Sunny)
 * 日期： 2025/1/8 下午3:26
 */
package com.example.springboot.control;

import com.example.springboot.common.Result;
import com.example.springboot.entity.Instruction;
import com.example.springboot.service.InstructionService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;


/**
 * 首页说明信息控制器，提供首页说明信息相关的CRUD（创建读取更新删除）操作
 */
@RestController
@RequestMapping("/instruction")
public class InstructionController {

    @Resource
    InstructionService instructionService;

    // 添加说明
    @PostMapping("/add")
    public Result add(@RequestBody Instruction instruction) {
        instructionService.save(instruction);
        return Result.success();
    }

    // 更新说明
    @PutMapping("/update")
    public Result update(@RequestBody Instruction instruction) {
        instructionService.updateById(instruction);
        return Result.success();
    }

    // 根据 id 单个删除说明信息
    @DeleteMapping("/delete/{id}")
    public Result delete(@PathVariable Integer id) {
        instructionService.removeById(id);
        return Result.success();
    }

    // 查询所有说明信息
    @GetMapping("/selectAll")
    public Result selectAll() {
        return Result.success(instructionService.list());
    }

    // 获取说明信息的总数，用于分页
    @GetMapping("/count")
    public Result count() {
        return Result.success(instructionService.count());
    }

}
